using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
using AutumnEngine.Modules;

namespace AutumnEngine.Modules
{
    /// <summary>
    /// Holds the engine's various settings.
    /// </summary>
    public class SettingsModule : Module
    {
        /// <summary>
        /// Gets or sets the color to clear with.
        /// </summary>
        /// <value>The color to clear.</value>
        public Color ClearColor
        {
            get;
            set;
        }

        /// <summary>
        /// Gets the engine version.
        /// </summary>
        /// <value>The engine version.</value>
        public string EngineVersion
        {
            get;
            private set;
        }

        /// <summary>
        /// Gets the name of the engine.
        /// </summary>
        /// <value>The name of the engine.</value>
        public string EngineName
        {
            get;
            private set;
        }

        public Color DebugColor
        {
            get;
            set;
        }

        /// <summary>
        /// Creates this instance.
        /// </summary>
        public override void Create()
        {
            EngineVersion = "0.7.0";
            EngineName = "Autumn Engine v" + EngineVersion;
            ClearColor = new Color(20, 20, 20, 255);
            DebugColor = Color.CadetBlue;
            this.Removable = false;
            this.CanBeDisabled = false;
            base.Create();
        }
    }
}